package com.yiku.entity;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.util.List;

/**
 * @Author:ludada
 * @Date:2024/02/24 13:22
 */
@Data
@ApiModel("BOM实体类")
public class BOMDAO {
    @ApiModelProperty("级次")
    private int lever;
    @ApiModelProperty("母件料号")
    private String itemMaster;
    @ApiModelProperty("母件料号编码")
    private String itemMasterCode;
    @ApiModelProperty("版本号")
    private String versionCode;
    @ApiModelProperty("生效日期")
    private String effectiveDate;
    @ApiModelProperty("失效日期")
    private String disableDate;
    @ApiModelProperty("生产目的 0:主制造 1：委外")
    private String alternateType;

    @ApiModelProperty("备注")
    private String explan;

    @ApiModelProperty("子项")
    private List<Child> children;

    @Data
    @Accessors(chain = true)
    public static class Child {
        @ApiModelProperty("BOM")
        private BOMDAO bom;


        @ApiModelProperty("子件项次")
        private String sequence;
        @ApiModelProperty("子项")
        private String itemMaster;
        @ApiModelProperty("子项编码")
        private String itemMasterCode;
        @ApiModelProperty("版本号")
        private String versionCode;
        @ApiModelProperty("生效日期")
        private String effectiveDate;
        @ApiModelProperty("失效日期")
        private String disableDate;
        @ApiModelProperty("用量")
        private int usageQty;

        @ApiModelProperty("母件底数")
        private int parentQty;

        @ApiModelProperty("取整")
        private Boolean IsCeiling;

        @ApiModelProperty("用量单位")
        private String uom;
        @ApiModelProperty("用量单位编码")
        private String uomCode;

        @ApiModelProperty("变动损耗")
        private double Scrap;

        @ApiModelProperty("发料方式  2:不发料  1：倒扣   0：推式")
        private String IssueStyle;

        @ApiModelProperty("供应组织")
        private String IssueOrg;

        @ApiModelProperty("供应组织编码")
        private String IssueOrgCode;

        @ApiModelProperty("虚拟")
        private Boolean isPhantomPart;

        @ApiModelProperty("备注")
        private String explan;


    }
}
